#ifndef NOMFICHIER_H
#define NOMFICHIER_H

#include "BaseUI.h"

#include <QtGui/QApplication>

class QLabel;
class QComboBox;
class QFile;
class QLineEdit;

/**
 * Classe permettant de gérer les noms des fichiers xml.
 *
 * Peut servir à créer un nouveau fichier, ou à ouvrir un fichier
 * existant.
 *
 * Afin de créer la liste des fichiers existants, on lit un fichier
 * qui est automatiquement créé lors du démarrage du programme
 * ADD.exe.
 *
 * En cas de création d'un nouveau fichier, on demande également le
 * type de validation (DTD ou XSD), la valeur par défaut étant le XSD.
 *
 * @author Johan "Solo" Luisier
 */
class NomFichier : public BaseUI
{
  Q_OBJECT
 public:
  NomFichier(const QString& quoi, const bool& ecrire = false,
	     QWidget *parent = 0);
  ~NomFichier();
  StatusCode lireEntree(std::string& reponse);
 private:
  /**
   * "Légende", texte qui s'affiche devant le champ d'entrée du nom de
   * fichier.
   */
  QLabel *legende;
  /**
   * Sert à entrer le nom d'un fichier lors de sa création (utilisé
   * pour sauvegarder un PJ).
   */
  QLineEdit *nomEdit;
  /**
   * Menu déroulant, est utilisé lors du chargement d'un PJ.
   */
  QComboBox *nom;
  /**
   * Pointeur sur le fichier qui liste les fihiers XML disponibles.
   */
  QFile *fichier;
  /**
   * Permet de savoir s'il faut créer le fichier ou le lire.
   */
  bool creerFichier;
};

#endif // NOMFICHIER_H
